package com.sky.orangehireserver.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

@Component
public class LoggerTool {
    // 可以为不同类提供不同的 Logger，这里以当前类为例
    private static final Logger logger = LoggerFactory.getLogger(LoggerTool.class);

    // 如果你希望为调用方类提供专属 Logger，可以这样设计（见下方进阶版）

    /**
     * 打印 Info 日志
     */
    public void info(String message) {
        logger.info(message);
    }

    public void info(String format, Object... args) {
        logger.info(format, args);
    }

    /**
     * 打印 Debug 日志
     */
    public void debug(String message) {
        logger.debug(message);
    }

    public void debug(String format, Object... args) {
        logger.debug(format, args);
    }

    /**
     * 打印 Warn 日志
     */
    public void warn(String message) {
        logger.warn(message);
    }

    public void warn(String format, Object... args) {
        logger.warn(format, args);
    }

    public void warn(String message, Throwable throwable) {
        logger.warn(message, throwable);
    }

    /**
     * 打印 Error 日志（推荐总是带上异常）
     */
    public void error(String message) {
        logger.error(message);
    }

    public void error(String format, Object... args) {
        logger.error(format, args);
    }

    public void error(String message, Throwable throwable) {
        logger.error(message, throwable);
    }

    public void error(String format, Throwable throwable, Object... args) {
        logger.error(String.format(format, args), throwable);
    }


}
